package com.torry.replay.infras.util;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;

/**
 * @author torry.wang
 */
public class NumberUtil {

    public static String format(BigDecimal value) {
        DecimalFormat df = new DecimalFormat("#.00");
        if (value.compareTo(BigDecimal.ZERO) == 0) {
            return "0.00";
        }
        if (value.compareTo(BigDecimal.ZERO) > 0 && value.compareTo(new BigDecimal(1)) < 0) {
            return "0" + df.format(value).toString();
        }
        if (value.compareTo(BigDecimal.ZERO) < 0 && value.compareTo(new BigDecimal(-1)) > 0) {
            df = new DecimalFormat("0.00");
            return df.format(value);
        }
        return df.format(value);
    }

    public static Double format(Double value) {
        return BigDecimal.valueOf(value).setScale(2, RoundingMode.UP).doubleValue();
    }
    public static BigDecimal formatBigDecimal(Double value) {
        return BigDecimal.valueOf(value).setScale(2, RoundingMode.UP);
    }
}
